package com.zysd.collection.scheduler.service.model;

import com.zysd.collection.scheduler.entity.SchedulerTaskModel;
import com.zysd.collection.scheduler.system.enums.TaskStatus;

/**
 * 任务模板 定时任务 service
 *
 * @author liuht
 * @date 2017/10/19 14:27
 */
public interface SchedulerModelTaskService {

    /**
     * 根据模板启动定时任务
     *
     * @param model 模板数据
     */
    void startModelTask(SchedulerTaskModel model);

    /**
     * 根据模板启动停止任务
     *
     * @param model 模板数据
     */
    void stopModelTask(SchedulerTaskModel model);

    /**
     * 根据模板启动删除任务
     *
     * @param model 模板数据
     */
    void deleteModelTask(SchedulerTaskModel model);

    /**
     * 获取模板任务状态
     *
     * @param model 模板
     * @return 状态
     */
    TaskStatus modelTaskStatus(SchedulerTaskModel model);
}
